#include<iostream>
#include <string>
#include <vector>
#include<fstream>
#include"Util.hpp"
// //字符串分割函数,将src字符串按照sep字符为分割符标志进⾏分割，得到的各个字串放到arry中，最终返回字串的数量
// size_t Split(const std::string &src,const std::string &sep,std::vector<std::string> *array)//分割字符串
// {
//     int index = 0;//当前正在处理的位置(从0开始寻找)
//     while(index < src.size()){
//         int pos = src.find(sep,index);//从index处开始查找sep字符            
//         if(pos==std::string::npos){
//             array->push_back(src.substr(index));
//             return array->size();
//         }else{
//             if(pos == index){
//                 index = pos+sep.size();
//                 continue;
//             }
//             array->push_back(src.substr(index,pos-index));
//             index = pos+sep.size();
//         }
//     }
//     return array->size();   
// }

// bool ReadFile(const std::string &filename,std::string *buf)//读取文件,将读到的内容存放到buf中
// {
//     std::ifstream fin(filename.c_str(),std::ios::in|std::ios::binary);
//     if(!fin.is_open()){//判断文件是否打开成功
//         printf("open file %s failed\n",filename.c_str());
//         return false;
//     }
//     fin.seekg(0,std::ios::end);//移动文件指针到文件末尾
//     size_t fsize = fin.tellg();//通过获取文件指针当前位置来判断文件大小
//     fin.seekg(0,std::ios::beg);//移动文件指针到文件开头
//     buf->resize(fsize);//分配buf的空间
//     fin.read(&(*buf)[0],fsize);//读取文件内容到buf中
//     if(!fin.good()){//判断是否读取成功
//         printf("read file %s failed\n",filename.c_str());
//         return false;
//     }
//     fin.close();
//     return true;
// }

// bool WriteFile(const std::string &filename,const std::string &data)//向文件写入数据
// {
//     std::ofstream fout(filename.c_str(),std::ios::out|std::ios::binary|std::ios::trunc);
//     if(!fout.is_open()){
//         printf("open file %s failed\n",filename.c_str());
//         return false;
//     }
//     fout.write(data.c_str(),data.size());
//     if(!fout.good()){
//         printf("write file %s failed\n",filename.c_str());
//         return false;
//     }
//     fout.close();
//     return true;
// }

int main()
{
    // std::string src = "hello.,world,,,,,how,are,you,,,,,";
    // std::vector<std::string> array;
    // Split(src,",",&array);
    // for(auto str:array){
    //     std::cout<<str<<std::endl;
    // }
    // std::string buf;
    // bool ret = ReadFile("Util.hpp",&buf);
    // if(ret){
    //     std::cout<<buf<<std::endl;
    // }
    // std::string data = "hello world";
    // bool ret2 = WriteFile("test.txt",data);
    // if(ret2){
    //     std::cout<<"write file success"<<std::endl; 
    // }
    Util ul;
    std::string path = "Modle/../";
    std::string name = "test.txt";
    std::cout<<ul.ValidPath(path)<<std::endl;
    std::cout<<ul.ValidPath(name)<<std::endl;
    std::cout<<ul.IsDirectory(path)<<std::endl;
    std::cout<<ul.IsDirectory(name)<<std::endl;
    std::cout<<ul.IsRegularFile(path)<<std::endl;
    std::cout<<ul.IsRegularFile(name)<<std::endl;
    return 0;
}